package cn.iocoder.yudao.module.system.controller.admin.a_audio_and_video.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;

/**
 * @author lxj
 */
@Schema(description = "管理后台 - 稿件管理 - 音视频 Request VO")
@Data
@ToString(callSuper = true)
public class AudioAndVideoReqVO {

    @Schema(description = "音视频文件", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "音视频不能为空")
    private MultipartFile file;

    @Schema(description = "音视频封面文件", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private MultipartFile videoCoverFile;

    @Schema(description = "音视频主键id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String id;


    @Schema(description = "音视频标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "音视频标题不能为空")
    private String title;


    @Schema(description = "音视频简介", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String introduction;


    @Schema(description = "音视频拍摄时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String shootingTime;


    @Schema(description = "视音频区分标识0：视频  1音频", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "音视频区分表示不能为空：0：视频  1音频")
    private Integer type;


    @Schema(description = "音视频文件类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String suffix;


    @Schema(description = "音视频分辨率", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String videoResolution;


    @Schema(description = "视频封面地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String videoCoverUrl;


    @Schema(description = "音视频时长（毫秒）", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String duration;


    @Schema(description = "音视频创建人id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String createUserId;


    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String createTime;


    @Schema(description = "最后修改时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String lastModificationTime;


    @Schema(description = "音视频下载地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String url;


    @Schema(description = "版本数", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer version;


    @Schema(description = "文件名", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String fileName;


    @Schema(description = "删除状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String deleted;

    @Schema(description = "音视频类别", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String category;

    @Schema(description = "是否送审（0未送、1已送、2审核完成）")
    private Integer reviewStatus;

    @Schema(description = "是否为共享素材库（0不是、1是）")
    private String isShare;

    @Schema(description = "是否推送到资源库（0不推、1推送）")
    private String isPush;

    @Schema(description = "趣看音视频下载地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String qukanUrl;

    @Schema(description = "趣看视频封面地址", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String qukanVideoCoverUrl;


}
